Certified Desugaring of Javascript Programs using Coq

نویسنده

  • Marek Materzok
چکیده

JavaScript is a programming language originally developed for client-side scripting in Web browsers; its use evolved from simple scripts to complex Web applications. It has also found use in mobile applications, server-side network programming, and databases. A number of semantics were developed for the JavaScript language. We are specifically interested in two of them: JSCert and JS. In order to increase our confidence that the two semantics correctly model JavaScript, we try to relate them formally using Coq. The size and complexity of the two semantics makes this a complex problem with many obstacles to be overcome.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Bidirectional Certified Programming

Certified programming is one of the desirable approaches to developing dependable software, where expected properties of programs are formally proved by proof assistants such as Coq. One way for certified programming with Coq is to define a function, give proofs for its properties in Coq, and then extract a program in OCaml. Another way for certified programming with Coq is to import the defini...

متن کامل

Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity

The numbers and sizes of JavaScript applications are ever growing but static analysis techniques for analyzing large-scale JavaScript applications are not yet ready in a scalable and precise manner. Even when building complex software like compilers and operating systems in JavaScript, developers do not get much benefits from existing static analyzers, which suffer from mutually intermingled pr...

متن کامل

The Essence of JavaScript

We reduce JavaScript to a core calculus structured as a small-step operational semantics. We present several peculiarities of the language and show that our calculus models them. We explicate the desugaring process that turns JavaScript programs into ones in the core. We demonstrate faithfulness to JavaScript using real-world test suites. Finally, we illustrate utility by defining a security pr...

متن کامل

Programmation fonctionnelle certifiée : L'extraction de programmes dans l'assistant Coq. (Certified functional programming : Program extraction within Coq proof assistant)

This work concerns the generation of programs which are certified to be correct byconstruction. These programs are obtained by extracting relevant information from construc-tive proofs made with the Coq proof assistant.Such a translation, named “extraction”, of constructive proofs into functional programsis not new, and corresponds to an isomorphism known as Curry-Howard’s. ...

متن کامل

Verifying Functional Bulk Synchronous Parallel Programs Using the Coq System

The Bulk Synchronous Parallel ML (BSML) is a functional language for Bulk Synchronous Parallel (BSP) programming. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector, which is given by intention. We present the formal proofs of correctness of BSML programs in the Coq proof assistant. Such development demonstrates the usefulness...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015